package com.lh.controller;


import com.alibaba.fastjson.JSONObject;
import com.lh.entity.table.ReminderInfo;
import com.lh.service.ReminderService;
import com.lh.utils.Answer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/reminder")
public class ReminderController {

    @Autowired
    private ReminderService reminderService;

    @RequestMapping("/queryReminderData")
    public Answer<Object> queryReminderData(@RequestBody JSONObject reqJson) {
        return  reminderService.queryReminderData(reqJson);
    }

    @RequestMapping("/setReminderRead")
    public Answer<Object> setReminderRead(@RequestBody JSONObject reqJson) {
        return  reminderService.setReminderRead(reqJson);
    }

    /**
     * 发送短信
     * @param reqJson
     * @return
     */
    @RequestMapping("/messageWarning")
    public Answer<Object> messageWarning(@RequestBody JSONObject reqJson) {
        return  reminderService.messageWarning(reqJson);
    }

    /**
     * 发送短信测试
     * @param reqJson
     * @return
     */
    @RequestMapping("/messageWarningTest")
    public Answer<Object> messageWarningTest(@RequestBody JSONObject reqJson) {
        return  reminderService.messageWarningTest(reqJson);
    }

    @RequestMapping("/messageRemindUser")
    public Answer<Object> messageRemindUser(@RequestBody JSONObject reqJson) {
        return  reminderService.messageRemindUser(reqJson);
    }

    @RequestMapping("/messageTitle")
    public Answer<Object> messageTitle(@RequestBody JSONObject reqJson) {
        return  reminderService.messageTitle(reqJson);
    }


    @RequestMapping("/messageXfNew")
    public Answer<Object> messageXfNew(@RequestBody JSONObject reqJson) {
        return  reminderService.messageXfNew(reqJson);
    }

    // 推送的几种类型
    // 1.发起单位新上任务 申请督查室审核 ->两办督查室操作人员
    // 2. 两办督查室审定不通过 → 发起单位操作人员
    // 3. 两办督查室审定通过 messageTitle
    // 4. 牵头单位更新进度 → 发起单位操作人员
    // 5. 发起单位审核进度（通过 / 不通过）
    // 6. 发起单位修改任务后提交
    // 两办督查室审核 “修改任务”（通过 / 不通过）

    @RequestMapping("/messageProjectStatus")
    public Answer<Object> messageProjectStatus(@RequestBody JSONObject reqJson) {
        // 新申请待审核
        // 新申请审核不通过
        // 新申请审核通过
        // 更新进度待审核
        // 更新进度审核通过
        // 更新进度审核不通过
        // 修改申请待审核
        // 修改申请审核不通过
        // 修改申请审核通过
        String status = reqJson.getString("status");
        String title = reqJson.getString("title");
        System.out.println("messageTitle: "+title +" , status: "+status);
        return  reminderService.messageProjectStatus(reqJson);
    }

    /**
     * 今日情况统计
     * @param reqJson
     * @return
     */
    @RequestMapping("/getCountByDate")
    public Answer<Object> getCountByDate(@RequestBody JSONObject reqJson) {
        return  reminderService.getCountByDate(reqJson);
    }


}
